package com.btb.adapter.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UpChainHeroExample {
    /**
     * .
    up_chain_hero
     */
    protected String orderByClause;

    /**
     * .
    up_chain_hero
     */
    protected boolean distinct;

    /**
     * .
    up_chain_hero
     */
    protected List<Criteria> oredCriteria;

    public UpChainHeroExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * 本类代码由mybatis - gen生成.
     * 此类对应数据库中的表： up_chain_hero
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andOwnerIsNull() {
            addCriterion("owner is null");
            return (Criteria) this;
        }

        public Criteria andOwnerIsNotNull() {
            addCriterion("owner is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerEqualTo(String value) {
            addCriterion("owner =", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerNotEqualTo(String value) {
            addCriterion("owner <>", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerGreaterThan(String value) {
            addCriterion("owner >", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerGreaterThanOrEqualTo(String value) {
            addCriterion("owner >=", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerLessThan(String value) {
            addCriterion("owner <", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerLessThanOrEqualTo(String value) {
            addCriterion("owner <=", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerLike(String value) {
            addCriterion("owner like", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerNotLike(String value) {
            addCriterion("owner not like", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerIn(List<String> values) {
            addCriterion("owner in", values, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerNotIn(List<String> values) {
            addCriterion("owner not in", values, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerBetween(String value1, String value2) {
            addCriterion("owner between", value1, value2, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerNotBetween(String value1, String value2) {
            addCriterion("owner not between", value1, value2, "owner");
            return (Criteria) this;
        }

        public Criteria andRequestIdIsNull() {
            addCriterion("request_id is null");
            return (Criteria) this;
        }

        public Criteria andRequestIdIsNotNull() {
            addCriterion("request_id is not null");
            return (Criteria) this;
        }

        public Criteria andRequestIdEqualTo(String value) {
            addCriterion("request_id =", value, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdNotEqualTo(String value) {
            addCriterion("request_id <>", value, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdGreaterThan(String value) {
            addCriterion("request_id >", value, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdGreaterThanOrEqualTo(String value) {
            addCriterion("request_id >=", value, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdLessThan(String value) {
            addCriterion("request_id <", value, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdLessThanOrEqualTo(String value) {
            addCriterion("request_id <=", value, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdLike(String value) {
            addCriterion("request_id like", value, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdNotLike(String value) {
            addCriterion("request_id not like", value, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdIn(List<String> values) {
            addCriterion("request_id in", values, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdNotIn(List<String> values) {
            addCriterion("request_id not in", values, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdBetween(String value1, String value2) {
            addCriterion("request_id between", value1, value2, "requestId");
            return (Criteria) this;
        }

        public Criteria andRequestIdNotBetween(String value1, String value2) {
            addCriterion("request_id not between", value1, value2, "requestId");
            return (Criteria) this;
        }

        public Criteria andClientIdIsNull() {
            addCriterion("client_id is null");
            return (Criteria) this;
        }

        public Criteria andClientIdIsNotNull() {
            addCriterion("client_id is not null");
            return (Criteria) this;
        }

        public Criteria andClientIdEqualTo(Integer value) {
            addCriterion("client_id =", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdNotEqualTo(Integer value) {
            addCriterion("client_id <>", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdGreaterThan(Integer value) {
            addCriterion("client_id >", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("client_id >=", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdLessThan(Integer value) {
            addCriterion("client_id <", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdLessThanOrEqualTo(Integer value) {
            addCriterion("client_id <=", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdIn(List<Integer> values) {
            addCriterion("client_id in", values, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdNotIn(List<Integer> values) {
            addCriterion("client_id not in", values, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdBetween(Integer value1, Integer value2) {
            addCriterion("client_id between", value1, value2, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdNotBetween(Integer value1, Integer value2) {
            addCriterion("client_id not between", value1, value2, "clientId");
            return (Criteria) this;
        }

        public Criteria andSnIsNull() {
            addCriterion("sn is null");
            return (Criteria) this;
        }

        public Criteria andSnIsNotNull() {
            addCriterion("sn is not null");
            return (Criteria) this;
        }

        public Criteria andSnEqualTo(String value) {
            addCriterion("sn =", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnNotEqualTo(String value) {
            addCriterion("sn <>", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnGreaterThan(String value) {
            addCriterion("sn >", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnGreaterThanOrEqualTo(String value) {
            addCriterion("sn >=", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnLessThan(String value) {
            addCriterion("sn <", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnLessThanOrEqualTo(String value) {
            addCriterion("sn <=", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnLike(String value) {
            addCriterion("sn like", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnNotLike(String value) {
            addCriterion("sn not like", value, "sn");
            return (Criteria) this;
        }

        public Criteria andSnIn(List<String> values) {
            addCriterion("sn in", values, "sn");
            return (Criteria) this;
        }

        public Criteria andSnNotIn(List<String> values) {
            addCriterion("sn not in", values, "sn");
            return (Criteria) this;
        }

        public Criteria andSnBetween(String value1, String value2) {
            addCriterion("sn between", value1, value2, "sn");
            return (Criteria) this;
        }

        public Criteria andSnNotBetween(String value1, String value2) {
            addCriterion("sn not between", value1, value2, "sn");
            return (Criteria) this;
        }

        public Criteria andHeroAreaIsNull() {
            addCriterion("hero_area is null");
            return (Criteria) this;
        }

        public Criteria andHeroAreaIsNotNull() {
            addCriterion("hero_area is not null");
            return (Criteria) this;
        }

        public Criteria andHeroAreaEqualTo(Integer value) {
            addCriterion("hero_area =", value, "heroArea");
            return (Criteria) this;
        }

        public Criteria andHeroAreaNotEqualTo(Integer value) {
            addCriterion("hero_area <>", value, "heroArea");
            return (Criteria) this;
        }

        public Criteria andHeroAreaGreaterThan(Integer value) {
            addCriterion("hero_area >", value, "heroArea");
            return (Criteria) this;
        }

        public Criteria andHeroAreaGreaterThanOrEqualTo(Integer value) {
            addCriterion("hero_area >=", value, "heroArea");
            return (Criteria) this;
        }

        public Criteria andHeroAreaLessThan(Integer value) {
            addCriterion("hero_area <", value, "heroArea");
            return (Criteria) this;
        }

        public Criteria andHeroAreaLessThanOrEqualTo(Integer value) {
            addCriterion("hero_area <=", value, "heroArea");
            return (Criteria) this;
        }

        public Criteria andHeroAreaIn(List<Integer> values) {
            addCriterion("hero_area in", values, "heroArea");
            return (Criteria) this;
        }

        public Criteria andHeroAreaNotIn(List<Integer> values) {
            addCriterion("hero_area not in", values, "heroArea");
            return (Criteria) this;
        }

        public Criteria andHeroAreaBetween(Integer value1, Integer value2) {
            addCriterion("hero_area between", value1, value2, "heroArea");
            return (Criteria) this;
        }

        public Criteria andHeroAreaNotBetween(Integer value1, Integer value2) {
            addCriterion("hero_area not between", value1, value2, "heroArea");
            return (Criteria) this;
        }

        public Criteria andGradeIsNull() {
            addCriterion("grade is null");
            return (Criteria) this;
        }

        public Criteria andGradeIsNotNull() {
            addCriterion("grade is not null");
            return (Criteria) this;
        }

        public Criteria andGradeEqualTo(Integer value) {
            addCriterion("grade =", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeNotEqualTo(Integer value) {
            addCriterion("grade <>", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeGreaterThan(Integer value) {
            addCriterion("grade >", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeGreaterThanOrEqualTo(Integer value) {
            addCriterion("grade >=", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeLessThan(Integer value) {
            addCriterion("grade <", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeLessThanOrEqualTo(Integer value) {
            addCriterion("grade <=", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeIn(List<Integer> values) {
            addCriterion("grade in", values, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeNotIn(List<Integer> values) {
            addCriterion("grade not in", values, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeBetween(Integer value1, Integer value2) {
            addCriterion("grade between", value1, value2, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeNotBetween(Integer value1, Integer value2) {
            addCriterion("grade not between", value1, value2, "grade");
            return (Criteria) this;
        }

        public Criteria andCardImageIsNull() {
            addCriterion("card_image is null");
            return (Criteria) this;
        }

        public Criteria andCardImageIsNotNull() {
            addCriterion("card_image is not null");
            return (Criteria) this;
        }

        public Criteria andCardImageEqualTo(String value) {
            addCriterion("card_image =", value, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageNotEqualTo(String value) {
            addCriterion("card_image <>", value, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageGreaterThan(String value) {
            addCriterion("card_image >", value, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageGreaterThanOrEqualTo(String value) {
            addCriterion("card_image >=", value, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageLessThan(String value) {
            addCriterion("card_image <", value, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageLessThanOrEqualTo(String value) {
            addCriterion("card_image <=", value, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageLike(String value) {
            addCriterion("card_image like", value, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageNotLike(String value) {
            addCriterion("card_image not like", value, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageIn(List<String> values) {
            addCriterion("card_image in", values, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageNotIn(List<String> values) {
            addCriterion("card_image not in", values, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageBetween(String value1, String value2) {
            addCriterion("card_image between", value1, value2, "cardImage");
            return (Criteria) this;
        }

        public Criteria andCardImageNotBetween(String value1, String value2) {
            addCriterion("card_image not between", value1, value2, "cardImage");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andSeasonIsNull() {
            addCriterion("season is null");
            return (Criteria) this;
        }

        public Criteria andSeasonIsNotNull() {
            addCriterion("season is not null");
            return (Criteria) this;
        }

        public Criteria andSeasonEqualTo(String value) {
            addCriterion("season =", value, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonNotEqualTo(String value) {
            addCriterion("season <>", value, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonGreaterThan(String value) {
            addCriterion("season >", value, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonGreaterThanOrEqualTo(String value) {
            addCriterion("season >=", value, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonLessThan(String value) {
            addCriterion("season <", value, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonLessThanOrEqualTo(String value) {
            addCriterion("season <=", value, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonLike(String value) {
            addCriterion("season like", value, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonNotLike(String value) {
            addCriterion("season not like", value, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonIn(List<String> values) {
            addCriterion("season in", values, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonNotIn(List<String> values) {
            addCriterion("season not in", values, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonBetween(String value1, String value2) {
            addCriterion("season between", value1, value2, "season");
            return (Criteria) this;
        }

        public Criteria andSeasonNotBetween(String value1, String value2) {
            addCriterion("season not between", value1, value2, "season");
            return (Criteria) this;
        }

        public Criteria andCardTipsIsNull() {
            addCriterion("card_tips is null");
            return (Criteria) this;
        }

        public Criteria andCardTipsIsNotNull() {
            addCriterion("card_tips is not null");
            return (Criteria) this;
        }

        public Criteria andCardTipsEqualTo(String value) {
            addCriterion("card_tips =", value, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsNotEqualTo(String value) {
            addCriterion("card_tips <>", value, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsGreaterThan(String value) {
            addCriterion("card_tips >", value, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsGreaterThanOrEqualTo(String value) {
            addCriterion("card_tips >=", value, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsLessThan(String value) {
            addCriterion("card_tips <", value, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsLessThanOrEqualTo(String value) {
            addCriterion("card_tips <=", value, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsLike(String value) {
            addCriterion("card_tips like", value, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsNotLike(String value) {
            addCriterion("card_tips not like", value, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsIn(List<String> values) {
            addCriterion("card_tips in", values, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsNotIn(List<String> values) {
            addCriterion("card_tips not in", values, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsBetween(String value1, String value2) {
            addCriterion("card_tips between", value1, value2, "cardTips");
            return (Criteria) this;
        }

        public Criteria andCardTipsNotBetween(String value1, String value2) {
            addCriterion("card_tips not between", value1, value2, "cardTips");
            return (Criteria) this;
        }

        public Criteria andPowerValueIsNull() {
            addCriterion("power_value is null");
            return (Criteria) this;
        }

        public Criteria andPowerValueIsNotNull() {
            addCriterion("power_value is not null");
            return (Criteria) this;
        }

        public Criteria andPowerValueEqualTo(Long value) {
            addCriterion("power_value =", value, "powerValue");
            return (Criteria) this;
        }

        public Criteria andPowerValueNotEqualTo(Long value) {
            addCriterion("power_value <>", value, "powerValue");
            return (Criteria) this;
        }

        public Criteria andPowerValueGreaterThan(Long value) {
            addCriterion("power_value >", value, "powerValue");
            return (Criteria) this;
        }

        public Criteria andPowerValueGreaterThanOrEqualTo(Long value) {
            addCriterion("power_value >=", value, "powerValue");
            return (Criteria) this;
        }

        public Criteria andPowerValueLessThan(Long value) {
            addCriterion("power_value <", value, "powerValue");
            return (Criteria) this;
        }

        public Criteria andPowerValueLessThanOrEqualTo(Long value) {
            addCriterion("power_value <=", value, "powerValue");
            return (Criteria) this;
        }

        public Criteria andPowerValueIn(List<Long> values) {
            addCriterion("power_value in", values, "powerValue");
            return (Criteria) this;
        }

        public Criteria andPowerValueNotIn(List<Long> values) {
            addCriterion("power_value not in", values, "powerValue");
            return (Criteria) this;
        }

        public Criteria andPowerValueBetween(Long value1, Long value2) {
            addCriterion("power_value between", value1, value2, "powerValue");
            return (Criteria) this;
        }

        public Criteria andPowerValueNotBetween(Long value1, Long value2) {
            addCriterion("power_value not between", value1, value2, "powerValue");
            return (Criteria) this;
        }

        public Criteria andProductionDateIsNull() {
            addCriterion("production_date is null");
            return (Criteria) this;
        }

        public Criteria andProductionDateIsNotNull() {
            addCriterion("production_date is not null");
            return (Criteria) this;
        }

        public Criteria andProductionDateEqualTo(Long value) {
            addCriterion("production_date =", value, "productionDate");
            return (Criteria) this;
        }

        public Criteria andProductionDateNotEqualTo(Long value) {
            addCriterion("production_date <>", value, "productionDate");
            return (Criteria) this;
        }

        public Criteria andProductionDateGreaterThan(Long value) {
            addCriterion("production_date >", value, "productionDate");
            return (Criteria) this;
        }

        public Criteria andProductionDateGreaterThanOrEqualTo(Long value) {
            addCriterion("production_date >=", value, "productionDate");
            return (Criteria) this;
        }

        public Criteria andProductionDateLessThan(Long value) {
            addCriterion("production_date <", value, "productionDate");
            return (Criteria) this;
        }

        public Criteria andProductionDateLessThanOrEqualTo(Long value) {
            addCriterion("production_date <=", value, "productionDate");
            return (Criteria) this;
        }

        public Criteria andProductionDateIn(List<Long> values) {
            addCriterion("production_date in", values, "productionDate");
            return (Criteria) this;
        }

        public Criteria andProductionDateNotIn(List<Long> values) {
            addCriterion("production_date not in", values, "productionDate");
            return (Criteria) this;
        }

        public Criteria andProductionDateBetween(Long value1, Long value2) {
            addCriterion("production_date between", value1, value2, "productionDate");
            return (Criteria) this;
        }

        public Criteria andProductionDateNotBetween(Long value1, Long value2) {
            addCriterion("production_date not between", value1, value2, "productionDate");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andErrDescIsNull() {
            addCriterion("err_desc is null");
            return (Criteria) this;
        }

        public Criteria andErrDescIsNotNull() {
            addCriterion("err_desc is not null");
            return (Criteria) this;
        }

        public Criteria andErrDescEqualTo(String value) {
            addCriterion("err_desc =", value, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescNotEqualTo(String value) {
            addCriterion("err_desc <>", value, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescGreaterThan(String value) {
            addCriterion("err_desc >", value, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescGreaterThanOrEqualTo(String value) {
            addCriterion("err_desc >=", value, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescLessThan(String value) {
            addCriterion("err_desc <", value, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescLessThanOrEqualTo(String value) {
            addCriterion("err_desc <=", value, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescLike(String value) {
            addCriterion("err_desc like", value, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescNotLike(String value) {
            addCriterion("err_desc not like", value, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescIn(List<String> values) {
            addCriterion("err_desc in", values, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescNotIn(List<String> values) {
            addCriterion("err_desc not in", values, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescBetween(String value1, String value2) {
            addCriterion("err_desc between", value1, value2, "errDesc");
            return (Criteria) this;
        }

        public Criteria andErrDescNotBetween(String value1, String value2) {
            addCriterion("err_desc not between", value1, value2, "errDesc");
            return (Criteria) this;
        }

        public Criteria andTransactionHashIsNull() {
            addCriterion("transaction_hash is null");
            return (Criteria) this;
        }

        public Criteria andTransactionHashIsNotNull() {
            addCriterion("transaction_hash is not null");
            return (Criteria) this;
        }

        public Criteria andTransactionHashEqualTo(String value) {
            addCriterion("transaction_hash =", value, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashNotEqualTo(String value) {
            addCriterion("transaction_hash <>", value, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashGreaterThan(String value) {
            addCriterion("transaction_hash >", value, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashGreaterThanOrEqualTo(String value) {
            addCriterion("transaction_hash >=", value, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashLessThan(String value) {
            addCriterion("transaction_hash <", value, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashLessThanOrEqualTo(String value) {
            addCriterion("transaction_hash <=", value, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashLike(String value) {
            addCriterion("transaction_hash like", value, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashNotLike(String value) {
            addCriterion("transaction_hash not like", value, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashIn(List<String> values) {
            addCriterion("transaction_hash in", values, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashNotIn(List<String> values) {
            addCriterion("transaction_hash not in", values, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashBetween(String value1, String value2) {
            addCriterion("transaction_hash between", value1, value2, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andTransactionHashNotBetween(String value1, String value2) {
            addCriterion("transaction_hash not between", value1, value2, "transactionHash");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampIsNull() {
            addCriterion("receive_timestamp is null");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampIsNotNull() {
            addCriterion("receive_timestamp is not null");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampEqualTo(Long value) {
            addCriterion("receive_timestamp =", value, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampNotEqualTo(Long value) {
            addCriterion("receive_timestamp <>", value, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampGreaterThan(Long value) {
            addCriterion("receive_timestamp >", value, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampGreaterThanOrEqualTo(Long value) {
            addCriterion("receive_timestamp >=", value, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampLessThan(Long value) {
            addCriterion("receive_timestamp <", value, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampLessThanOrEqualTo(Long value) {
            addCriterion("receive_timestamp <=", value, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampIn(List<Long> values) {
            addCriterion("receive_timestamp in", values, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampNotIn(List<Long> values) {
            addCriterion("receive_timestamp not in", values, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampBetween(Long value1, Long value2) {
            addCriterion("receive_timestamp between", value1, value2, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andReceiveTimestampNotBetween(Long value1, Long value2) {
            addCriterion("receive_timestamp not between", value1, value2, "receiveTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampIsNull() {
            addCriterion("start_up_chain_timestamp is null");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampIsNotNull() {
            addCriterion("start_up_chain_timestamp is not null");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampEqualTo(Long value) {
            addCriterion("start_up_chain_timestamp =", value, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampNotEqualTo(Long value) {
            addCriterion("start_up_chain_timestamp <>", value, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampGreaterThan(Long value) {
            addCriterion("start_up_chain_timestamp >", value, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampGreaterThanOrEqualTo(Long value) {
            addCriterion("start_up_chain_timestamp >=", value, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampLessThan(Long value) {
            addCriterion("start_up_chain_timestamp <", value, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampLessThanOrEqualTo(Long value) {
            addCriterion("start_up_chain_timestamp <=", value, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampIn(List<Long> values) {
            addCriterion("start_up_chain_timestamp in", values, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampNotIn(List<Long> values) {
            addCriterion("start_up_chain_timestamp not in", values, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampBetween(Long value1, Long value2) {
            addCriterion("start_up_chain_timestamp between", value1, value2, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andStartUpChainTimestampNotBetween(Long value1, Long value2) {
            addCriterion("start_up_chain_timestamp not between", value1, value2, "startUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampIsNull() {
            addCriterion("event_up_chain_timestamp is null");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampIsNotNull() {
            addCriterion("event_up_chain_timestamp is not null");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampEqualTo(Long value) {
            addCriterion("event_up_chain_timestamp =", value, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampNotEqualTo(Long value) {
            addCriterion("event_up_chain_timestamp <>", value, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampGreaterThan(Long value) {
            addCriterion("event_up_chain_timestamp >", value, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampGreaterThanOrEqualTo(Long value) {
            addCriterion("event_up_chain_timestamp >=", value, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampLessThan(Long value) {
            addCriterion("event_up_chain_timestamp <", value, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampLessThanOrEqualTo(Long value) {
            addCriterion("event_up_chain_timestamp <=", value, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampIn(List<Long> values) {
            addCriterion("event_up_chain_timestamp in", values, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampNotIn(List<Long> values) {
            addCriterion("event_up_chain_timestamp not in", values, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampBetween(Long value1, Long value2) {
            addCriterion("event_up_chain_timestamp between", value1, value2, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andEventUpChainTimestampNotBetween(Long value1, Long value2) {
            addCriterion("event_up_chain_timestamp not between", value1, value2, "eventUpChainTimestamp");
            return (Criteria) this;
        }

        public Criteria andBlockNumberIsNull() {
            addCriterion("block_number is null");
            return (Criteria) this;
        }

        public Criteria andBlockNumberIsNotNull() {
            addCriterion("block_number is not null");
            return (Criteria) this;
        }

        public Criteria andBlockNumberEqualTo(Long value) {
            addCriterion("block_number =", value, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andBlockNumberNotEqualTo(Long value) {
            addCriterion("block_number <>", value, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andBlockNumberGreaterThan(Long value) {
            addCriterion("block_number >", value, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andBlockNumberGreaterThanOrEqualTo(Long value) {
            addCriterion("block_number >=", value, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andBlockNumberLessThan(Long value) {
            addCriterion("block_number <", value, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andBlockNumberLessThanOrEqualTo(Long value) {
            addCriterion("block_number <=", value, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andBlockNumberIn(List<Long> values) {
            addCriterion("block_number in", values, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andBlockNumberNotIn(List<Long> values) {
            addCriterion("block_number not in", values, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andBlockNumberBetween(Long value1, Long value2) {
            addCriterion("block_number between", value1, value2, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andBlockNumberNotBetween(Long value1, Long value2) {
            addCriterion("block_number not between", value1, value2, "blockNumber");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("address is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("address is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("address =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("address <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("address >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("address >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("address <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("address <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("address like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("address not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("address in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("address not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("address between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("address not between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andGasUsedIsNull() {
            addCriterion("gas_used is null");
            return (Criteria) this;
        }

        public Criteria andGasUsedIsNotNull() {
            addCriterion("gas_used is not null");
            return (Criteria) this;
        }

        public Criteria andGasUsedEqualTo(BigDecimal value) {
            addCriterion("gas_used =", value, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andGasUsedNotEqualTo(BigDecimal value) {
            addCriterion("gas_used <>", value, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andGasUsedGreaterThan(BigDecimal value) {
            addCriterion("gas_used >", value, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andGasUsedGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("gas_used >=", value, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andGasUsedLessThan(BigDecimal value) {
            addCriterion("gas_used <", value, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andGasUsedLessThanOrEqualTo(BigDecimal value) {
            addCriterion("gas_used <=", value, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andGasUsedIn(List<BigDecimal> values) {
            addCriterion("gas_used in", values, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andGasUsedNotIn(List<BigDecimal> values) {
            addCriterion("gas_used not in", values, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andGasUsedBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gas_used between", value1, value2, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andGasUsedNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gas_used not between", value1, value2, "gasUsed");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultIsNull() {
            addCriterion("notify_check_result is null");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultIsNotNull() {
            addCriterion("notify_check_result is not null");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultEqualTo(String value) {
            addCriterion("notify_check_result =", value, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultNotEqualTo(String value) {
            addCriterion("notify_check_result <>", value, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultGreaterThan(String value) {
            addCriterion("notify_check_result >", value, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultGreaterThanOrEqualTo(String value) {
            addCriterion("notify_check_result >=", value, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultLessThan(String value) {
            addCriterion("notify_check_result <", value, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultLessThanOrEqualTo(String value) {
            addCriterion("notify_check_result <=", value, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultLike(String value) {
            addCriterion("notify_check_result like", value, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultNotLike(String value) {
            addCriterion("notify_check_result not like", value, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultIn(List<String> values) {
            addCriterion("notify_check_result in", values, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultNotIn(List<String> values) {
            addCriterion("notify_check_result not in", values, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultBetween(String value1, String value2) {
            addCriterion("notify_check_result between", value1, value2, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyCheckResultNotBetween(String value1, String value2) {
            addCriterion("notify_check_result not between", value1, value2, "notifyCheckResult");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeIsNull() {
            addCriterion("notify_time is null");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeIsNotNull() {
            addCriterion("notify_time is not null");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeEqualTo(Date value) {
            addCriterion("notify_time =", value, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeNotEqualTo(Date value) {
            addCriterion("notify_time <>", value, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeGreaterThan(Date value) {
            addCriterion("notify_time >", value, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("notify_time >=", value, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeLessThan(Date value) {
            addCriterion("notify_time <", value, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("notify_time <=", value, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeIn(List<Date> values) {
            addCriterion("notify_time in", values, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeNotIn(List<Date> values) {
            addCriterion("notify_time not in", values, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeBetween(Date value1, Date value2) {
            addCriterion("notify_time between", value1, value2, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("notify_time not between", value1, value2, "notifyTime");
            return (Criteria) this;
        }

        public Criteria andNotifyNumIsNull() {
            addCriterion("notify_num is null");
            return (Criteria) this;
        }

        public Criteria andNotifyNumIsNotNull() {
            addCriterion("notify_num is not null");
            return (Criteria) this;
        }

        public Criteria andNotifyNumEqualTo(Integer value) {
            addCriterion("notify_num =", value, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyNumNotEqualTo(Integer value) {
            addCriterion("notify_num <>", value, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyNumGreaterThan(Integer value) {
            addCriterion("notify_num >", value, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("notify_num >=", value, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyNumLessThan(Integer value) {
            addCriterion("notify_num <", value, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyNumLessThanOrEqualTo(Integer value) {
            addCriterion("notify_num <=", value, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyNumIn(List<Integer> values) {
            addCriterion("notify_num in", values, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyNumNotIn(List<Integer> values) {
            addCriterion("notify_num not in", values, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyNumBetween(Integer value1, Integer value2) {
            addCriterion("notify_num between", value1, value2, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyNumNotBetween(Integer value1, Integer value2) {
            addCriterion("notify_num not between", value1, value2, "notifyNum");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberIsNull() {
            addCriterion("notify_block_number is null");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberIsNotNull() {
            addCriterion("notify_block_number is not null");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberEqualTo(Long value) {
            addCriterion("notify_block_number =", value, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberNotEqualTo(Long value) {
            addCriterion("notify_block_number <>", value, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberGreaterThan(Long value) {
            addCriterion("notify_block_number >", value, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberGreaterThanOrEqualTo(Long value) {
            addCriterion("notify_block_number >=", value, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberLessThan(Long value) {
            addCriterion("notify_block_number <", value, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberLessThanOrEqualTo(Long value) {
            addCriterion("notify_block_number <=", value, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberIn(List<Long> values) {
            addCriterion("notify_block_number in", values, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberNotIn(List<Long> values) {
            addCriterion("notify_block_number not in", values, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberBetween(Long value1, Long value2) {
            addCriterion("notify_block_number between", value1, value2, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotifyBlockNumberNotBetween(Long value1, Long value2) {
            addCriterion("notify_block_number not between", value1, value2, "notifyBlockNumber");
            return (Criteria) this;
        }

        public Criteria andNotityStatusIsNull() {
            addCriterion("notity_status is null");
            return (Criteria) this;
        }

        public Criteria andNotityStatusIsNotNull() {
            addCriterion("notity_status is not null");
            return (Criteria) this;
        }

        public Criteria andNotityStatusEqualTo(String value) {
            addCriterion("notity_status =", value, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusNotEqualTo(String value) {
            addCriterion("notity_status <>", value, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusGreaterThan(String value) {
            addCriterion("notity_status >", value, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusGreaterThanOrEqualTo(String value) {
            addCriterion("notity_status >=", value, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusLessThan(String value) {
            addCriterion("notity_status <", value, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusLessThanOrEqualTo(String value) {
            addCriterion("notity_status <=", value, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusLike(String value) {
            addCriterion("notity_status like", value, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusNotLike(String value) {
            addCriterion("notity_status not like", value, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusIn(List<String> values) {
            addCriterion("notity_status in", values, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusNotIn(List<String> values) {
            addCriterion("notity_status not in", values, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusBetween(String value1, String value2) {
            addCriterion("notity_status between", value1, value2, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotityStatusNotBetween(String value1, String value2) {
            addCriterion("notity_status not between", value1, value2, "notityStatus");
            return (Criteria) this;
        }

        public Criteria andNotifyResultIsNull() {
            addCriterion("notify_result is null");
            return (Criteria) this;
        }

        public Criteria andNotifyResultIsNotNull() {
            addCriterion("notify_result is not null");
            return (Criteria) this;
        }

        public Criteria andNotifyResultEqualTo(String value) {
            addCriterion("notify_result =", value, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultNotEqualTo(String value) {
            addCriterion("notify_result <>", value, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultGreaterThan(String value) {
            addCriterion("notify_result >", value, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultGreaterThanOrEqualTo(String value) {
            addCriterion("notify_result >=", value, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultLessThan(String value) {
            addCriterion("notify_result <", value, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultLessThanOrEqualTo(String value) {
            addCriterion("notify_result <=", value, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultLike(String value) {
            addCriterion("notify_result like", value, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultNotLike(String value) {
            addCriterion("notify_result not like", value, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultIn(List<String> values) {
            addCriterion("notify_result in", values, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultNotIn(List<String> values) {
            addCriterion("notify_result not in", values, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultBetween(String value1, String value2) {
            addCriterion("notify_result between", value1, value2, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResultNotBetween(String value1, String value2) {
            addCriterion("notify_result not between", value1, value2, "notifyResult");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseIsNull() {
            addCriterion("notify_response is null");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseIsNotNull() {
            addCriterion("notify_response is not null");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseEqualTo(String value) {
            addCriterion("notify_response =", value, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseNotEqualTo(String value) {
            addCriterion("notify_response <>", value, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseGreaterThan(String value) {
            addCriterion("notify_response >", value, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseGreaterThanOrEqualTo(String value) {
            addCriterion("notify_response >=", value, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseLessThan(String value) {
            addCriterion("notify_response <", value, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseLessThanOrEqualTo(String value) {
            addCriterion("notify_response <=", value, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseLike(String value) {
            addCriterion("notify_response like", value, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseNotLike(String value) {
            addCriterion("notify_response not like", value, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseIn(List<String> values) {
            addCriterion("notify_response in", values, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseNotIn(List<String> values) {
            addCriterion("notify_response not in", values, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseBetween(String value1, String value2) {
            addCriterion("notify_response between", value1, value2, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyResponseNotBetween(String value1, String value2) {
            addCriterion("notify_response not between", value1, value2, "notifyResponse");
            return (Criteria) this;
        }

        public Criteria andNotifyParamIsNull() {
            addCriterion("notify_param is null");
            return (Criteria) this;
        }

        public Criteria andNotifyParamIsNotNull() {
            addCriterion("notify_param is not null");
            return (Criteria) this;
        }

        public Criteria andNotifyParamEqualTo(String value) {
            addCriterion("notify_param =", value, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamNotEqualTo(String value) {
            addCriterion("notify_param <>", value, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamGreaterThan(String value) {
            addCriterion("notify_param >", value, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamGreaterThanOrEqualTo(String value) {
            addCriterion("notify_param >=", value, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamLessThan(String value) {
            addCriterion("notify_param <", value, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamLessThanOrEqualTo(String value) {
            addCriterion("notify_param <=", value, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamLike(String value) {
            addCriterion("notify_param like", value, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamNotLike(String value) {
            addCriterion("notify_param not like", value, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamIn(List<String> values) {
            addCriterion("notify_param in", values, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamNotIn(List<String> values) {
            addCriterion("notify_param not in", values, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamBetween(String value1, String value2) {
            addCriterion("notify_param between", value1, value2, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyParamNotBetween(String value1, String value2) {
            addCriterion("notify_param not between", value1, value2, "notifyParam");
            return (Criteria) this;
        }

        public Criteria andNotifyRidIsNull() {
            addCriterion("notify_rid is null");
            return (Criteria) this;
        }

        public Criteria andNotifyRidIsNotNull() {
            addCriterion("notify_rid is not null");
            return (Criteria) this;
        }

        public Criteria andNotifyRidEqualTo(String value) {
            addCriterion("notify_rid =", value, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidNotEqualTo(String value) {
            addCriterion("notify_rid <>", value, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidGreaterThan(String value) {
            addCriterion("notify_rid >", value, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidGreaterThanOrEqualTo(String value) {
            addCriterion("notify_rid >=", value, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidLessThan(String value) {
            addCriterion("notify_rid <", value, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidLessThanOrEqualTo(String value) {
            addCriterion("notify_rid <=", value, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidLike(String value) {
            addCriterion("notify_rid like", value, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidNotLike(String value) {
            addCriterion("notify_rid not like", value, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidIn(List<String> values) {
            addCriterion("notify_rid in", values, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidNotIn(List<String> values) {
            addCriterion("notify_rid not in", values, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidBetween(String value1, String value2) {
            addCriterion("notify_rid between", value1, value2, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andNotifyRidNotBetween(String value1, String value2) {
            addCriterion("notify_rid not between", value1, value2, "notifyRid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidIsNull() {
            addCriterion("transaction_uuid is null");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidIsNotNull() {
            addCriterion("transaction_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidEqualTo(String value) {
            addCriterion("transaction_uuid =", value, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidNotEqualTo(String value) {
            addCriterion("transaction_uuid <>", value, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidGreaterThan(String value) {
            addCriterion("transaction_uuid >", value, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidGreaterThanOrEqualTo(String value) {
            addCriterion("transaction_uuid >=", value, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidLessThan(String value) {
            addCriterion("transaction_uuid <", value, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidLessThanOrEqualTo(String value) {
            addCriterion("transaction_uuid <=", value, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidLike(String value) {
            addCriterion("transaction_uuid like", value, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidNotLike(String value) {
            addCriterion("transaction_uuid not like", value, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidIn(List<String> values) {
            addCriterion("transaction_uuid in", values, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidNotIn(List<String> values) {
            addCriterion("transaction_uuid not in", values, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidBetween(String value1, String value2) {
            addCriterion("transaction_uuid between", value1, value2, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andTransactionUuidNotBetween(String value1, String value2) {
            addCriterion("transaction_uuid not between", value1, value2, "transactionUuid");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeIsNull() {
            addCriterion("updated_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeIsNotNull() {
            addCriterion("updated_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeEqualTo(Date value) {
            addCriterion("updated_time =", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeNotEqualTo(Date value) {
            addCriterion("updated_time <>", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeGreaterThan(Date value) {
            addCriterion("updated_time >", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("updated_time >=", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeLessThan(Date value) {
            addCriterion("updated_time <", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeLessThanOrEqualTo(Date value) {
            addCriterion("updated_time <=", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeIn(List<Date> values) {
            addCriterion("updated_time in", values, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeNotIn(List<Date> values) {
            addCriterion("updated_time not in", values, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeBetween(Date value1, Date value2) {
            addCriterion("updated_time between", value1, value2, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeNotBetween(Date value1, Date value2) {
            addCriterion("updated_time not between", value1, value2, "updatedTime");
            return (Criteria) this;
        }
    }

    /**
     * 本类代码由mybatis - gen生成.
     * 此类对应数据库中的表： up_chain_hero
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * 本类代码由mybatis - gen生成.
     * 此类对应数据库中的表： up_chain_hero
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}